The technology of automatically recognizing optical patterns is being developed in the context of numerous applications such as the recognition and processing of routine business documents such as checks.
An optical pattern recognition system typically comprises a scanner for scanning documents which are to be subject to optical pattern recognition. The scanner forms a digital image of the document by illuminating the document with a bright light such as a laser light and then recording the reflected light using storage devices such as CCDs. This type of scanner may be used to form a bitonal image wherein each pixel is either white or black corresponding to state values +1 or -1.
After being formed by a scanner and recorded in CCD devices, a digital image is then sent to a recognition engine which may be implemented in software in a computer or by special dedicated hardware processing elements. The recognition engine transforms the digital image of a document into information about what symbols have been imprinted on the document. For example, a recognition engine may be utilized to recognize the dollar amount of a check which has been imaged by a scanner. After the symbolic information is obtained from the digital image by a recognition engine, the symbolic information is placed in a database which is stored in a computer memory.
In the recognition engine of an optical pattern recognition system, a variety of systems may be utilized to detect the presence of, and locate or remove, various features. For example, in a recognition engine for personal or business checks, a field finder finds an amount field on the check in which the dollar amount has been written in the form of arabic numerals. Next, an amount isolator detects and removes all the preprinted marks in the amount field such as dollar signs, boxes, or lines. An underscore remover detects and removes the bottom half of the fraction in the dollar amount. A segmenter and recognizer then recognizes the digits in the output of the underscore remover.
One way to implement a recognition engine for recognizing the presence of a particular optical feature or pattern is through use of a neural network. Examples of neural networks suitable for recognizing optical patterns are disclosed in U.S. Pat. No. 4,876,731, and in an article entitled "A Neural Network Model for Selective Attention in Visual Pattern Recognition" written by Kunihiko Fukushima and published in Biological Cybernetics, 55, 5-15 (1986).
However, the neural network in the above-identified references is very complex because it utilizes both forward and feedback connections between nodes and the nodes themselves are complex analog devices whose inputs and outputs take on non-negative analog values.
While the recognition systems disclosed in the prior art are usable pattern recognition systems, there is still a need for a simple recognition system which can quickly and reliably detect, and locate or remove, specific optical features from an image. In particular, there is a need for a simple recognition system for detecting, and locating or removing, specific features which have been somewhat distorted in shape or rotated.
It is an object of the present invention to provide such an optical recognition system.